# -*- coding: utf-8 -*-

# 需要有文件修改.txt文件

# 修改文件的方式一:
# 1 将文件内容由硬盘全部读入内存
# 2 在内存中完成修改
# 3 将内存中修改后的结果覆盖写回硬盘
with open('文件修改.txt', mode='rt', encoding='utf-8')as f:
    all_data = f.read()
    print(all_data)
# 读出来的数据已经存到all_data变量里面的了
with open('文件修改.txt', mode='wt', encoding='utf-8')as f1:
    f1.write(all_data.replace('abc', '123'))

# 修改文件的方式二:
# 1 以读的方式打开源文件,以写的方式打开一个临时文件
# 2 从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕
# 3 删掉源文件,将临时文件重命名为源文件名
import os
with open('文件修改.txt', mode='rt', encoding='utf-8')as read_f, open('临时文件.txt', mode='wt', encoding='utf-8')as write_f:
    for line in read_f:
        print(line)
        write_f.write(line.replace('abc', '123'))
# 文件修改删除
os.remove('文件修改.txt')
# # 临时文件.txt 改成 文件修改
os.rename('临时文件.txt', '文件修改.txt')
